Method and system for automated security access policy for a document management system

ABSTRACT

A method and system for providing an automated security access policy in a document management system are described. The security policies are applied based on metadata rules. Once a document is added to the document managements system, the metadata rules are evaluated using the metadata of the document. Based on the results of the evaluation security access policies are applied to the document.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of U.S. patent application Ser. No. 12/749,291 filed on Mar. 29, 2010 (to be issued on Dec. 11, 2012 under U.S. Pat. No. 8,332,350) and claims benefit from the U.S. provisional application Ser. No. 61/167,683 for “Automated Security Access Policy for a Document Management System” filed on Apr. 8, 2009, the entire contents of which are incorporated herein by reference.

FIELD OF INVENTION

The invention generally relates to document management systems, and in particular, to a system and method providing an automated security access policy in a document management system.

BACKGROUND OF THE INVENTION

Maintenance of security of electronic documents such as files is an important aspect of any multiuser system. Various users may have various access rights for a given document. For example, some users may be denied access to it, some may be allowed to only read it, some may be allowed to read as well as modify it whereas some others may be able to only execute it. Both the maintenance of the access rights of the various uses for the different documents stored on the system as well as controlling document access in accordance with these stored access rights are crucial for a successful system operation.

Document management systems, or file management systems, also to be referred to as file server security systems, e.g., SharePoint, have an established paradigm of applying security policies providing access to files. Each document and folder has an “Access Control List” (ACL), which specifies users and groups who have access to the document and folder, and security access rights they have to the document and folder. Documents in folders inherit permissions of the folder and may override the privileges of an individual document, if necessary. This paradigm works well for some situations; however it only provides a hierarchal approach to applying security access policies to documents and folders in a document management system. This approach becomes less effective when administrators need to apply different security policies to each document, which makes defining the security access policies very time consuming.

Therefore there is a need in the industry for developing an improved process for providing security access policy in a document management system.

SUMMARY OF THE INVENTION

There is an object of the invention to provide an improved method and system for automatically providing security access policy in a document management system, which would avoid or mitigate the disadvantages of the prior art.

According to one aspect of the invention, there is provided a computerized method for automatically providing a security access policy to an electronic document in a document management system, the method comprising:

-   (a1) associating metadata with the document, the metadata comprising     one or more attributes of the document; -   (b1) configuring security access policies to be applied to documents     in the document management system, including specifying one or more     metadata rules governing application of security access policies to     the documents; and -   (c1) determining the security access policy to be applied to the     document to be added to the document management system based on said     one or more metadata rules and the metadata associated with the     document.

The step (b1) of the method comprises:

-   (a2) creating said one or more metadata rules, comprising     configuring a permission configuration web page; -   (b2) storing said one or more metadata rules in a permissions     setting configuration file; and -   (c2) communicating the permissions setting configuration file to the     document management system.

The step (a1) of the method comprises providing the attribute comprising a first field containing a name of the attribute and a second field containing a value of the attribute.

In the embodiments of the invention, the step (b1) comprises specifying said one or more metadata rules comprising a target name, a target value, a comparison operation for comparing the target value with the second field of the attribute the first field of which matches the target name, and the security access policy, comprising a permission set to be applied to the document for controlling access to the document based on results of the comparison operation.

Conveniently, the name of the attribute is selected from the group consisting of file size, file name, file type, date modified, word count, and author.

In the method described above, the step (c1) comprises:

-   (a6) receiving a notification from the document management system     regarding adding the document to the document management system; -   (b6) evaluating each metadata rule by performing the comparison     operation in said each metadata rule; and -   (c6) for said each metadata rule, applying the permission set to the     document.

In the embodiments of the invention, the step (c6) comprises changing an access control list in the document management system, the access control list including names of users having access to the document along with corresponding levels of access of the users.

In the method described above, the specifying said one or more metadata rules comprises specifying a compound expression for performing multiple comparisons on the target name and the target value.

In the method described above, the specifying comprises specifying metadata including one or more of a contextual metadata that is inferred from contents of the document, an applied metadata that is attached to the document by an external program, and a dynamic metadata that is dynamically retrieved based on content analysis performed outside the document management system

Conveniently, the step (b2) comprises storing the permissions setting configuration file in an Extensible Markup Language (XML) format.

According to another aspect of the invention, there is provided a computer readable storage medium, having a computer readable program code instructions stored thereon, which, when executed by a computer, perform the following steps:

-   (a10) associating metadata with a document, the metadata comprising     one or more attributes of the document; -   (b10) configuring security access policies to be applied to     documents in a document management system, including specifying one     or more metadata rules governing application of security access     policies to the documents; and -   (c10) determining a security access policy to be applied to the     document to be added to the document management system based on said     one or more metadata rules and the metadata associated with the     document.

According to yet another aspect of the invention, there is provided a system for automatically providing a security access policy to an electronic document in a document management system, the system comprising:

-   a processor, and a computer readable storage medium having computer     readable instructions stored thereon, which, when executed by the     processor, form the following: -   (a11) a metadata storage module, storing metadata associated with     the document, the metadata comprising one or more attributes of the     document; -   (b11) a security policy configuration module, configuring security     access policies to be applied to documents in the document     management system, including specifying one or more metadata rules     governing application of security access policies to the documents;     and -   (c11) a security policy determination module, determining the     security access policy to be applied to the document to be added to     the document management system based on said one or more metadata     rules and the metadata associated with the document.

The security policy configuration module (b11) comprises:

-   (a12) a policy handler module, creating said one or more metadata     rules, comprising configuring a permission configuration web page; -   (b12) a permissions setting configuration file, storing said one or     more metadata rules; and -   (c12) a policy configuration control module, communicating the     permissions setting configuration file to the document management     system.

The attribute of the document comprises a first field containing a name of the attribute and a second field containing a value of the attribute.

In the system described above, said one or more metadata rules comprise a target name, a target value, a comparison operation for comparing the target value with the second field of the attribute the first field of which matches the target name, and the security access policy, comprising a permission set to be applied to the document for controlling access to the document based on results of the comparison operation

Conveniently, the name of the attribute is selected from the group consisting of: file size, file name, file type, date modified, word count, and author.

In the system described above, the security policy determination module (c11) comprises:

-   (a16) a dispatcher module, receiving a notification from the     document management system regarding adding the document to the     document management system; -   (b16) a metadata rule evaluator module, evaluating each metadata     rule by performing the comparison operation in said each metadata     rule; and -   (c16) a permission processor module, applying, for each said     metadata rule, the permission set to the document.

The permission processor module (c16) comprises computational means for changing an access control list in the document management system, the access control list including names of users having access to the document along with respective levels of access of the users.

In the embodiments of the invention, said one or more metadata rules comprises a compound expression for performing multiple comparisons on the target name and the target value.

Conveniently, the document management system is a Microsoft Share Point document library.

Thus, an improved method and system for automatically providing security access policy in a document management system have been described.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the invention will be apparent from the following description of the embodiment, which is described by way of example only and with reference to the accompanying drawings, in which:

FIG. 1( a) presents a table illustrating an example list of attributes for a document;

FIG. 1( b) shows a sample implementation of a metadata rule configuration interface of the embodiment of the invention;

FIG. 2 shows a system 30 for a providing an automated security access policy to an electronic document in a document management system and illustrates its connection to the document management system.

FIG. 3 shows a flowchart 300 illustrating a method for providing an automated security access policy to the document;

FIG. 4 illustrates the step 304 “Configure security access policies” of FIG. 3 in more detail;

FIG. 5 illustrates the flow of operations for configuring a security access policy;

FIG. 6 illustrates the step 306 “Determine security access policy” of FIG. 3 in more detail; and

FIG. 7 illustrates the flow of operations when a document is added to a document management system.

DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION

Glossary

-   Access control list includes names of users having access to the     document along with respective levels of access of the users -   Compound expression characterizes multiple comparison operations on     the target name and the target value -   First field contains name of the attribute -   Metadata comprises one or more attributes of the document -   Metadata rules rules governing application of security access     policies -   Second field contains value of the attribute -   XML Extensible Markup Language

Embodiments of the present invention describe methods and system for providing security access policies to documents. These documents often include files. Thus, the terms file and document are used interchangeably in this application. Embodiments of the present invention provide a classification-based method and system providing security access policy in a document management system. The invention allows documents to be granted security access based on their specified classification, category, physical attributes or tags. In particular, the embodiments of the invention provide an automated security access policy for a document management system, such as the Microsoft® Windows SharePoint Services platform. Security access policies of the documents in a library are derived based on attributes of the documents, known as metadata. The embodiments of the invention can however be adapted to other document management systems as well.

The method providing security access policy is guided by a set of metadata rules. The metadata rules provided by a system administrator are stored and are processed along with the metadata (attributes) associated with documents. Each metadata rule can be evaluated to be either true or false, and comprises four parts:

-   i) Target name: A target name can range from physical attributes of     a document (e.g. the date modified, file size, file name), to     customizable labeling of the document (such as Classification Level,     Title, Customer Number). -   ii) Comparison operation: The comparison operators are mathematical     and text comparison operators which return a true or false value.     For example: greater than, less than, equals, does not equal, and     contains. -   iii) Target value: The target value to compare to is dependent on     the type of comparison being performed, and includes a numerical     value such as a number, date, currency, a text value such as,     “Classified”. The target values may not be required at all for some     operations such as “property exists”. -   iv) Security access policy: This comprises a permission set to be     applied to the document. Based on the results of evaluation of a     metadata rule, a series of permission actions can be performed on     the Access Control List of the item in a SharePoint document     management system for example, allowing users and user groups to be     granted and revoked access.

Two or more comparison operations can be combined to form a larger (complex) compound expression with the use of optional joining operators, such as “AND” and “OR”.

For example: [Title] contains “secret” AND [Releasable]=“False”

With the four parts of the metadata rule, the evaluation of the metadata rule is performed in the following way. As described earlier, metadata comprises attributes of a document. Each attribute of the document comprises a first field that contains the name of the attribute and a second field that contains the value of the attribute. For example the first field of an attribute can be file size with the second filed as 1 Mbytes. When a metadata rule is evaluated its target name is matched with the first field of the attributes of the document. The following formula is then used on the matched attribute:

-   IF second Field of the matched attribute compares to target value,     then apply security access policy.

Please note that the type of the “compares” operation is specified through the comparison operator in the metadata rule. Compound expressions using the joining operators AND and OR allow for complex comparison operations. For example,

-   If second field of matched attribute1 compares to target value 1 AND     second field of matched attribute 2 compares to target value 2, then     apply security access policy.

Note that the matching of an attribute i comprises the matching of the first field of the attribute with the target name i specified in the metadata rule.

An alternative form of metadata rule allows the negative (else) condition to have an associated security access policy. For example:

-   IF second field of the matched attribute compares to target value,     then apply security access policy 1, else apply security access     policy 2.

The permission set associated with the If part is also referred to as the “True permissions” and that associated with the else part is also referred to as “false” permission”.

In the embodiments of the invention, the metadata rules comprise computer readable instructions stored in a computer readable storage medium, e.g., computer memory, DVD, CD-ROM, floppy or other medium, which, when executed by a processor, form the metadata rules including the four parts described, and perform the evaluation of the metadata as described earlier.

The approach to automatically providing security access policy in a document management system described earlier provides numerous advantages. For example, it provides a unique and flexible security access structure, with which, system administrators need only define the overall metadata rules that automatically provide the security access policy, allowing different documents to have security access policies based on their content and attributes. As a result, system administrators do not need to separately define security access policy for each document, making security access management of documents significantly easier.

Parts of the Metadata Rule

As mentioned earlier, a metadata rule contains a target name, a comparison operation, a target value, and a security policy. These four parts are explained in more detail.

Target Name

A target name is matched with the name of an attribute in the metadata. Metadata is information which describes other data. Computer files have a large quantity of metadata from multiple sources as it is processed by various computer programs and users.

Metadata is associated with each document and describes the content and context of its use. It comprises attributes of the document, which in the embodiments of the invention include: attribute name, attribute type, data type, and attribute value. For example, the metadata for a Microsoft Word document may comprise various attributes associated with the document. An example list of such attributes is presented in table 9 of FIG. 1( a). For Microsoft documents, an attribute can be one of the built in fields in SharePoint such as File Name, File Type, Title, Author, User Last Modified By, Content Type, or any of the custom columns added to the document library by the user.

The value of an attribute corresponding to a given attribute name is converted from its native data type, which includes text, user id and number, into a digital format for comparison purposes, and is stored as a corresponding “data type” as illustrated in column 3 of table 9 shown in FIG. 1( a). The data type corresponding to a value of the attribute can be numerical, text, date and time, true/false or binary data.

In the embodiment of the invention, the attribute type includes Contextual Metadata and Applied Metadata. Contextual Metadata is metadata that can be inferred through examination of the document and its contents. This can be interpreted with the help of computer software by looking at the physical attributes of the computer file or the object(s) which the file represents.

Examples of contextual metadata include the following: File Length, Creation Date, Last Modification Date, Photo Width and Height and Word Count;

Applied metadata is metadata that is attached to the document by an external program. Often a user assists in applying metadata, such as describing key words or entering a sentence describing the document. Applied metadata is often saved as a section within the document which can be examined by other computer programs.

Examples of Applied metadata include Description, Category, Key words, Classification Level and Customer ID. Dynamic Metadata that is handled in an alternate embodiment is dynamically retrieved based on external content analysis and cannot be inferred directly from the document contents. Dynamic metadata requires processing of the document by a metadata extractor that is either an internal system or an external unit invoked through a network connection.

Examples of Dynamic metadata are: external database queries, automated image analysis and content analysis using natural language processing all of which are Metadata fields corresponding to the Dynamic metadata type.

When a document is added to a document management system such as Microsoft SharePoint, metadata are extracted from the document and made available to system of the present invention through a storage unit storing the metadata. When dynamic metadata is requested, a Dynamic metadata extractor is used to perform metadata extraction.

Comparison Operators

A comparison operation is an important part of a metadata rule. The comparison operators return a true or false value. Conveniently, they are case-insensitive, meaning that upper case letters are considered equal to lower-case letters. Metadata value is read as digital value, irrespective of whether it is text, numbers, dates or other data types, and as such, comparisons can be evaluated based on the data. Examples of comparison operations are provided next:

-   -   If Document Title contains “Budget”, apply permission set         “Financial Group”;     -   If Security Classification equals “Classified”, apply permission         set “Classified Users”;     -   If Content Type equals “Marketing Slideshow”, apply permission         set “Marketing”.

For example, using table 9 shown in FIG. 1( a), the comparison “[Word Count]>1000” would evaluate to false, since the attribute having a name Word Count has a value of 724.

On the other hand if “[Classification Level]=‘CLASSIFIED’ is evaluated, the result of the evaluation would be true, since that is the value of the attribute with name Classification Level.

Examples of comparison operators include:

-   -   i. Less Than (<)     -   ii. Less Than or Equal To (<=)     -   iii. Greater Than (>)     -   iv. Greater Than or Equal To (>=)     -   v. Equals (=)     -   vi. Does Not Equal (!=)     -   vii. Contains Value     -   viii. Does Not Contain Value     -   ix. Exists     -   x. Does Not Exist     -   xi. Starts With     -   xii. Ends With

Not all operators are applicable with all types of data. For example, asking if “apple>orange” doesn't make much sense. Other operators such as “contains value” and “does not contain value” are only valid for text values. Operators such as “exists” and “does not exist” ask only if the attribute with a given name was part of the metadata, regardless of value, and as such does not require a value to compare to.

Evaluation of Metadata Comparisons

The comparison operators that are supported in the embodiment s of the invention are discussed further. Each of these operators, when evaluated, would lead to a true or false result. For each operator, an explanation of the operator is provided followed by examples.

-   -   Equals—Value of matched attribute is equal to Target Value.

-   “ABC” equals “ABC” is true

-   “ABC” equals “DEF” is false     -   Does Not Equal—Value of matched attribute is not equal to Target         Value.

-   “ABC” does not equal “DEF” is true

-   “ABC” does not equal “ABC” is false     -   Contains—Value of matched attribute contains the text of Target         Value.

-   “AB” contains “A” is true

-   “AB” contains “B” is true

-   “AB” contains “AB” is true

-   “AB” contains “C” is false     -   Does Not Contain—Value of matched attribute does not contain the         text of Target Value.

-   “AB” does not contain “C” is true

-   “AB” does not contain “A” is false     -   Starts With—Value of matched attribute starts with the text of         Target Value.

-   “AB” starts with “A” is true

-   “AB” starts with “AB” is true

-   “AB” starts with “ABC” is false

-   “AB” starts with “C” is false     -   Does Not Start With—Value of matched attribute does not start         with text of Target Value.

-   “AB” does not start with “B” is true

-   “AB” does not start with “ABC” is true

-   “AB” does not start with “A” is false

-   “AB” does not start with “AB” is false     -   Ends With—Value of matched attribute ends with text of Target         Value.

-   “BC” ends with “C” is true

-   “BC” ends with “BC” is true

-   “BC” ends with “ABC” is false

-   “BC” ends with “D” is false     -   Does Not End With—Value of matched attribute does not end with         text of Target Value.

-   “BC” does not end with “B” is true

-   “BC” does not end with “ABC” is true

-   “BC” does not end with “C” is false

-   “BC” does not end with “BC” is false     Target Value

Target Value is a value specified by the system administrator. It is saved as a text-based value.

When comparing the value of an attribute to the Target Value, both values generally have to be of the same data type. For example, text is compared with text, dates are compared to dates and numbers are compared with numbers. In some cases, a target value is not required, such as in the case of the “exists” and “does not exist” comparison operators.

Security Access Policy

Security access policy comprises a permission set to apply if the rule is evaluated successfully. Documents stored in document management systems have security permissions applied to them, generally in the form of Access Control Lists. These lists contain names of people who have access to the document, and the level of access that they have. The ACL also includes user groups such as “Marketing Department”, each user in which receives the same level of access to that document.

When a metadata rule is evaluated, a security access policy can get applied to the document based on the results of the evaluation. The security access policy can lead to a set of operations that include for example:

-   Make the document hidden; -   Move the document to another location;     -   Present a different view of the document;     -   Add to list of users/user groups who can see the document;     -   Add to list of users/user groups who can edit the document;     -   Add to list of users/user groups who can delete the document;     -   Remove specific users/user groups from list of users who can see         the document;     -   Remove specific users/user groups from list of users who can         edit the document;     -   Remove specific users/user groups from list of users who can         delete the document;     -   Publish the document to the public;

The types of security access policies that can be applied depend on the capabilities of the document management system. Some systems may only support basic operations and others may contain elaborate control structures.

The metadata rules include security access polices for the document management system. Thus, access to the facilities for configuring metadata rules should be limited to system administrators. FIG. 1( b) shows a diagram 10 illustrating a sample implementation of a metadata rule configuration interface of the embodiment of the invention. The metadata rule configuration window 14 is placed within another host window 12 that is provided by the document management system for example. The metadata rule configuration window 14 provides various buttons for specifying the metadata rules.

The system of the embodiment of the invention is described next. The system 30 of the embodiment of the invention shown in FIG. 2 includes a general purpose or specialized computer having a CPU and a computer readable medium, e.g., memory, DVD, CD-ROM, floppy disk, flash memory, magnetic tape or other storage medium, having computer readable instructions stored thereon for execution by the CPU, which form various modules of the system as will be described in detail below. Alternatively, the system can be implemented in firmware, or combination of firmware and a specialized computer having a computer readable storage medium.

The structure of a system 10 for providing automated security access policy to a document in a document management system according to the embodiment of the invention is displayed in FIG. 2. A Microsoft SharePoint system is used as an example document management system. System 30 shows a SharePoint Document Library 1 connected with two modules of the embodiment of the invention: a Security Policy Configuration Module 2 and a Security Policy Determination Module 3. The document library is the container of the files. It resembles a network share on a computer, including files and folders, where certain people who are granted permission to access it. The SharePoint Document Library 1 communicates with the Security Policy Configuration Module 2 by using Connect 4.1 and with the Security Policy Determination Module 3 by using connect 4.2. The Security Policy Configuration Module 2 interacts with the Security Policy Determination Module by using Connect 4.3. The SharePoint Document Library 1 is described first followed by the Security Policy Configuration Module 2 and the Security Policy Determination Module 3.

SharePoint Document Library 1

The SharePoint Document Library 1 is a specialized type of SharePoint List for the storage of documents and allows for events to be processed when documents are added, updated, and removed from the document library. The processing of these events allows the security access policies to be applied to documents in the SharePoint Library 1.

The SharePoint Document Library 1 comprises a SharePoint Information Management Policy Configuration Module 1.0 a Document Store Module 1.4, a Permissions Module 1.5, and an Event Receivers Module 1.6. The SharePoint Information Management Policy Configuration Module 1.0 in turn includes a Document Type Definition Module 1.1, a Policies Module 1.2 and a Policy Configuration Store Module 1.3. Each of these modules is briefly described.

Document Content Type Definition Module 1.1

This module is the base document Content Type of the SharePoint Document Library (1). Content type is a definition of the metadata properties for a certain type of document. A file in a document library has a content-type, and that content-type defines the fields of metadata associated with it. Details can be found at http://msdn.microsoft.com/en-us/library/ms472236.aspx. Content types also store behavior settings associated with that type of file. It becomes the container for documents as they are stored in the Document Store (1.4).

Policies Module 1.2

This module contains a set of information management policies that can be applied to documents in this library. Information management policies enforce rules on how content is accessed and managed, generally in the context of compliance, for example Sarbanes-Oxley, etc. Information management policies are executed on items. Security access policies rely on a rights based Access Control List which determines whether or not a requested security action, for example, read file, is permitted by the logged-in user. The Policy Handler Module 2.2 is connected, through the Connect 4.1, to the Policies Module 1.2.

Policy Configuration Store Module 1.3

This module is a section of the SharePoint database used for the storage of permission settings corresponding to the policies configured by a system administrator. When a security access policy is configured by using the Policy Configuration Control Module 2.1, the data is sent through Connect 4.1 and saved in an XML format in the Policy Configuration Store Module 1.3.

Document Store Module 1.4

This module is a section of the SharePoint database where the actual documents and metadata associated with the document are stored and then associated with the Share-Point Document Library 1. The Document Store Module 1.4 exposes metadata read by the Metadata Rule Evaluator 3.2. Additions or modifications to the Document Store Module 1.4 require the Event Receivers Module 1.6 to notify their listeners.

Permissions Module 1.5

This module defines the permission set for each document in the document library. There are base permissions inherited by the SharePoint Document Library (1), as well as refined permissions on each document available in the Document Store Module 1.4. The Permission Processor Module 3.4 sets the permissions when metadata rules are evaluated.

Event Receivers Module 1.6

This module contains event receivers that allow the SharePoint Document Library 1 to communicate with the Dispatcher Module 3.1 through Connect 4.2. The events relevant to the current invention include two events in the SharePoint Document Library 1: the ItemAdded event, which occurs when a document is added, and the ItemUpdated event, which occurs when a document or the metadata associated with the document changes.

Metadata Storage Module 1.7

This module stores the metadata associated with documents. The Metadata Storage Module 1.7 comprises computer readable data stored in a computer readable storage medium e.g., memory, DVD, CD-ROM, floppy disk, flash memory and magnetic tape. Although the Metadata Storage Module 1.7 is shown as a part of the Document Store Module 1.4, it can be located outside the SharePoint Document Library 1 as well.

The Security Policy Configuration Module 2 that allows the configuration of the security access policies by the system administrator comprises a Policy Configuration Control Module 2.1, a Policy Handler Module 2.2, a Permissions Configuration Webpage 2.3 and a Permissions Settings Configuration file 2.4. Each of these is briefly described.

Policy Configuration Control Module 2.1

This module is a user interface, which allows the configuration of the information management policy available in the Policies Module 1.2. The Policy Configuration Control Module 2.1 has settings allowing the user to create metadata rules, and specify the associated permission sets, which are loaded from the Permission Settings Configuration File 2.4. These permission sets are to be applied based on the results of the evaluation of the metadata rules. This Policy Configuration Control Module 2.1 includes a hyperlink to the Permission Configuration Web page 2.3 that allows the permission sets to be defined.

Policy Handler Module 2.2

This module is a required interface to install an information management policy in the Policies Module 1.2. It handles events for Register and UnRegister sent to the Document Type Definition Module 1.1 in the SharePoint Document Library 1. It also registers the Policy Configuration Control Module 2.1 and allows it to be used.

Permission Configuration Web Page 2.3

This web page allows permission sets to be configured or defined by the system administrator. The permission set is associated with a group of SharePoint users and groups and their associated permission level. The metadata rules that include the permission sets are saved in the Permission Settings Configuration File 2.4.

Permission Settings Configuration File 2.4

This file is an XML based configuration file which stores the metadata rules including the permission sets defined using the Permission Configuration Web Page 2.3.

The Security Policy Determination Module 3 comprises a Dispatcher Module 3.1, a Metadata Rule Evaluator Module 3.2, a Dynamic Metadata Extractor Module 3.3 and a Permission Processor Module 3.4. Each of these modules is briefly described.

Dispatcher Module 3.1

This module implements the interface to Event Receivers Module 1.6 for receiving the ItemAdded and ItemUpdated events. The Dispatcher Module 3.1 then determines if processing should be performed, and if so, passes control to the Metadata Rule Evaluator Module 3.2.

Metadata Rule Evaluator Module 3.2

This module is triggered by the Dispatcher Module 3.1 to process the ItemAdded and ItemUpdated events. Once invoked, the Metadata Rule Evaluator Module 3.2 loads the saved metadata settings from the Policy Configuration Store Module 1.3, retrieves the item metadata from the Document Store Module 1.4, and extracts dynamic metadata by using the Dynamic Metadata Extractor Module 3.3. Then it evaluates the metadata rule and triggers the Permission Processor Module 3.4 to modify the permissions associated with the document.

Dynamic Metadata Extractor Module 3.3

This module that is included in alternate embodiment receives the request from the Metadata Rule Evaluator Module 3.2, and determines the metadata requirements for this metadata rule. The Dynamic Metadata Extractor Module 3.3 performs the requested dynamic analysis of the document and returns the results in the form of text metadata to the Metadata Rule Evaluator Module 3.2.

Permission Processor Module 3.4

This module loads the Permission Settings Configuration File 2.4 using Connect 4.3, receives the name of the document to process from the Metadata Rule Evaluator Module 3.2, and applies the changes to the permissions associated with the document by using the Permissions Module 1.5 in the SharePoint Document Library 1. In another embodiment of the invention the Permission Processor Module 3.4 comprises computational means 3.5 for changing the ACL in the document management system.

As noted earlier, the Dynamic Metadata Extractor Module 3.3 is included in an alternate embodiment. In yet another alternate embodiment the Dynamic Metadata Extractor Module 3.3 is external to the Security Policy Determination Module 3 and is invoked via a network connection.

The modules of the system that include modules 2, 2.1, 2.2, 2.3, 2.4, 3, 3.1, 3.2, 3.3 and 3.4 include a firmware or, alternatively, computer readable instructions stored in a computer readable storage medium for execution by a processor. The computational means 3.5 comprises computer readable code performing methods, procedures, functions or subroutines which are stored in a computer readable storage medium to be executed by a CPU.

Additional embodiments of the invention include only a subset of the all the modules described earlier. The minimum functionality to be provided includes: (i) Metadata Rule Configuration (ii) Metadata Security Access Policy Data Store (iii) Attachment to the Document Management System and (iv) Metadata Rule Processing. The minimal set of modules that can achieve this functionality are presented next.

-   (i) Permission Configuration Webpage 2.3: assists the system     administrator with metadata rule configuration and helps in defining     the metadata rules and the security access policies which should be     applied. This can take the form of a computer program or a web     server component. -   (ii) Permission Setting Configuration File 2.4: stores the metadata     rules after they are configured. Depending on the environment, the     metadata rules may also be saved internally as a setting in the     product configuration instead of in the Permissions Setting     Configuration file 2.4. -   (iii) Connect 4.1 and 4.2: serve as attachments to the document     management system. In order to be able to apply security access     policies to the documents, a hook into the document management     system is required for receiving events. Document management systems     such as SharePoint allow external programs to receive “events” from     the document library, such as when a new document is added or is     modified by a user. Connect 4.1 and 4.2 are used to pass on the type     of the event and additional data associated with the event to the     embodiments of the invention for further processing. -   (iv) Metadata Rule Evaluator Module 3.2: process the metadata rules.     When the event corresponding to the adding of a document in the     document management system for example, is received by the     embodiment of the invention, each metadata rule is evaluated. When a     metadata rule is evaluated the security access policy associated     with the rule is applied to the document based on the results of the     evaluation.

FIG. 3 shows a flowchart 300 illustrating a method for automatically providing a security access policy to a document management system according to the embodiments of the invention. Upon start (box 302), the procedure 300 configures the security access policies based on the input provided by the system administrator (box 304). In the next step the procedure 300 determines the security access policy to be applied to the document that is added to the document management system by the user (box 306) and exits (box 308).

FIG. 4 presents flowchart 400 illustrating the step 304 “Configure security access policies” of FIG. 3 in more detail. Upon start (box 402), the procedure 400 installs the Permission Configuration Web Page 2.3 (box 404) for facilitating the creation of metadata rules. As the system administrator configures this web page and cerates the metadata rules, the inputs from the system administrator are received by the procedure 400 (box 406). Once the system administrator completes the creation of metadata rules and invokes a “save” operation, the procedure 400 saves the metadata rules in the Permissions Setting Configuration File 2.4 (box 408), communicates the metadata rules contained in the Permissions Setting Configuration File 2.4 to the document management system (box 410), and exits (box 412).

The operation of the Security Policy Configuration Module 2 is explained further with the sequence diagram 500 presented in FIG. 5 that captures the sequence of operations performed when the procedure 400 is executed.

Flow of Operations—Configuring a Policy

The following operations occur when the system administrator 6 first activates and configures the metadata security policy for a document management system.

-   -   Step 1 (502). System administrator 6 invokes 516 the         configuration page of the SharePoint Document Library 1.     -   Step 2 (504). System administrator 6 activates the security         access policy, which causes the Register event 518 on the Policy         Handler Module 2.2.     -   Step 3 (506). In response to the Register event 518, Policy         Handler Module 2.2 installs 520 the security access policy into         the Policies Module 1.2 of the SharePoint Document Library 1.         This allows the Configuration Web Page 2.3 to be installed and         loaded. The Configuration Web Page 2.3 allows the system         administrator 6 to create new metadata rules.     -   Step 4 (508). System administrator 6 defines metadata rules and         visits the Permission Configuration Web page 2.3 to define the         permissions sets which are stored in the Permission Settings         Configuration File 2.4.     -   Step 5 (510). System administrator 6 clicks to save the changes         that initiate a message 522 to the Policy Configuration Module         2.1.     -   Step 6 (512). The Policy Configuration Control 2.1 creates an         XML stream 524 representing the current configuration settings         that is communicated to the SharePoint Document Library 1.     -   Step 7 (514). This data is saved in the Policy Configuration         Store 1.3 in the Share-Point Document Library 1, so that the         metadata rules can be retrieved as needed.

FIG. 6 presents flowchart 600 illustrating the step 306 “Determine security access policy” of FIG. 3 in more detail. Upon start (box 602), the procedure 600 receives the document added by the user to the document management system (box 604) and checks whether metadata security is enabled (box 606). If not, the procedure 600 exits ‘NO’ from box 606 and exits (box 622). Otherwise, the procedure 600 exits ‘YES’ from box 606, dispatches the metadata security policy (box 608) and evaluates the first metadata rule (box 610). Whether the result of the operation specified in the metadata rule is true is evaluated. If so, the security access policy corresponding to the “If” clause of the metadata rule is followed and the “True” permission is applied (box 614). If the result of the operation is false, the procedure 600 exits ‘NO’ from box 612 and checks whether there is an “else” clause or a “False” permission associated with the metadata rule. If so, the procedure exits ‘YES’ from box 618, applies the “False” permission (box 620) and proceeds to the input of box 616. Otherwise, the procedure 600 exits ‘NO’ from box 618, skips box 620 and proceeds to check whether there are more metadata rules (box 616). If so, the procedure 600 proceeds to the input of box 610 to evaluate the next metadata rule. Otherwise, the procedure 600 exits (box 622). In an alternate embodiment the procedure 600 uses the Dynamic Metadata Extractor Module 3.3 for performing a dynamic analysis of the document the results of which are used in the evaluation of the metadata rules (box 610).

The operation of the Security Policy Determination Module 3 is explained further with the sequence diagram 700 presented in FIG. 7 that captures the sequence of operations performed when the procedure 600 is executed.

Flow of Operations—Document Added to Document Management System

The following operations occur once the metadata security access policy is installed on the management system and a document is added by the user.

-   -   Step 1 (702). User 5 uploads a new document of a specified         Document Content Type to the SharePoint Document Library 1.     -   Step 2 (704). The document is added 720 to the Document Store         1.4 in the Share-Point Document Library 1 where its metadata is         saved.     -   Step 3 (706). The document is initially assigned the default         permissions of the SharePoint Document Library 1.     -   Step 4 (708). The Event Receivers Module 1.6 dispatches the         ItemAdded event 722.     -   Step 5 (710). The Dispatcher Module 3.1 receives the ItemAdded         event 722 and calls 724 the Metadata Rule Evaluator Module 3.2.     -   Step 6 (712). The Metadata Rule Evaluator Module 3.2 receives         725 the list of metadata rules in XML from the Policy         Configuration Store 1.3. It requests 726 the document metadata         from the Document Store Module 1.4. In an alternate embodiment         it then requests 727 dynamic metadata from the Dynamic Metadata         Extractor Module 3.3.     -   Step 7 (714). The Dynamic Metadata Extractor Module 3.3 receives         the request 727 from the Metadata Rule Evaluator Module 3.2 and         determines the metadata requirements for this metadata rule. The         Dynamic Metadata Extractor Module 3.3 performs the requested         dynamic analysis of the document and returns the results 728 in         the form of text metadata to the Metadata Rule Evaluator Module         3.2.     -   Step 8 (716). The Metadata Rule Evaluator Module 3.2 evaluates         the metadata rules using the metadata associated with the         document and calls 730 the Permission Processor Module 3.4 to         apply the permissions of the document.     -   Step 9 (718). The Permission Processor Module 3.4 loads the         permission set from the Permission Settings Configuration File         2.4, and changes the document permissions to reflect the         permissions in this permission set.

Although specific embodiments of the invention have been described in detail, it should be understood that the described embodiments are intended to be illustrative and not restrictive. Various changes and modifications of the embodiments shown in the drawings and described in the specification may be made within the scope of the following claims without departing from the scope of the invention in its broader aspect. For example, multiple document management systems can be handled by a single set of Security Policy Configuration Module 2 and Security Policy Determination Module 3. The embodiments of the invention can also be used in conjunction with a computer network to remotely apply security access policies to documents in a document management system that is located in another location.

Although the embodiments of the invention have been described in detail, it will be apparent to one skilled in the art that variations and modifications to the embodiments may be made within the scope of the following claims. 

What is claimed is:
 1. A system for automatically creating a security access policy to an electronic document in a document management system, the system comprising: a processor; and a non-transitory computer readable storage medium, having computer readable instructions stored thereon for execution by the processor, causing the processor to: associate metadata with the document, the metadata comprising one or more attributes of the document; the metadata comprising: a contextual metadata, which is inferred from contents of the document; an applied metadata, which is attached to the document by an external program; and a dynamic metadata, which is dynamically retrieved based on external content analysis of the document performed outside of the document management system; configure security access policies to be applied to documents in the document management system, comprising specifying one or more metadata rules operating on the metadata and governing application of security access policies to the documents; and determine the security access policy to be applied to the document to be added to the document management system based on the one or more metadata rules and the metadata associated with the document.
 2. The system of claim 1, wherein the computer readable instructions further cause the processor to: create said one or more metadata rules; store said one or more metadata rules in a permissions setting configuration file; and communicate the permissions setting configuration file to the document management system.
 3. The system of claim 2, wherein the computer readable instructions further cause the processor to configure a permission configuration web page for said one or more metadata rules.
 4. The system of claim 2, wherein the computer readable instructions further cause the processor to store the permissions setting configuration file in an Extensible Markup Language (XML) format.
 5. The system of claim 1, wherein the computer readable instructions further cause the processor to provide an attribute comprising a first field containing a name of the attribute and a second field containing a value of the attribute.
 6. The system of claim 5, wherein the computer readable instructions further cause the processor to specify said one or more metadata rules comprising a target name, a target value, a comparison operation for comparing the target value with the second field of the attribute the first field of which matches the target name.
 7. The system of claim 6, wherein the computer readable instructions further cause the processor to specify the security access policy, comprising a permission set to be applied to the document for controlling access to the document based on results of the comparison operation.
 8. The system of claim 7, wherein the computer readable instructions further cause the processor to: receive a notification from the document management system regarding adding the document to the document management system; evaluate each metadata rule by performing the comparison operation in said each metadata rule; and for said each metadata rule, apply the permission set to the document.
 9. The system of claim 6, wherein the computer readable instructions further cause the processor to specify a compound expression for performing multiple comparisons on the target name and the target value.
 10. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is a file size.
 11. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is a file name.
 12. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is a file type.
 13. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is a date when a file size has been modified.
 14. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is a word count for a file or a name of an author of the file.
 15. The system of claim 5, wherein the computer readable instructions further cause the processor to provide the name of the attribute, which is selected from the group consisting from a classification level, title, and a customer number for the document.
 16. The system of claim 1, wherein the computer readable instructions further cause the processor to change an access control list in the document management system, the access control list including names of users having access to the document along with corresponding levels of access of the users.
 17. The system of claim 1, wherein the computer readable instructions further cause the processor to perform an automated content analysis of the document using natural language processing.
 18. The system of claim 1, wherein the computer readable instructions further cause the processor to perform an automated content analysis of the document using external database queries.
 19. The system of claim 1, wherein the document management system is a file management system.
 20. The system of claim 1, wherein the document management system is a Microsoft Share Point document library.
 21. A method for automatically creating a security access policy to an electronic document in a document management system, the method comprising: using a processor for: associating metadata with the document, the metadata comprising one or more attributes of the document; the metadata comprising: a contextual metadata, which is inferred from contents of the document; an applied metadata, which is attached to the document by an external program; and a dynamic metadata, which is dynamically retrieved based on external content analysis of the document performed outside of the document management system; configuring security access policies to be applied to documents in the document management system, comprising specifying one or more metadata rules operating on the metadata and governing application of security access policies to the documents; and determining the security access policy to be applied to the document to be added to the document management system based on the one or more metadata rules and the metadata associated with the document. 